Skip to content

Conversation

@LordMelkor
Copy link
Contributor

@LordMelkor LordMelkor commented Jul 2, 2025

🔍 Problem
PR #3104 (commit 666ce69) swapped our generic tool-banner logic for a short hard-coded switch. As a result, unknown MCP tools were reduced to showing only a single argument key ("directory") and lost both the tool name context.

What's Fixed

Feature Description
Clean tool banners Tool banners now show clean descriptions like writing src/file.ts without clutter
Generic fallback Any tool not in the switch-case list falls back to improved generic display: ToolName key1, key2 … (with truncation)
Consistent codebase Maintains consistency with existing localStorage patterns throughout the app

🛠 Implementation

ToolCallWithResponse.tsx

  • Simplified tool description logic with clean, focused displays
  • Each switch-case branch returns descriptive text without prefixes
  • Default branch builds clean ToolName keys fallback for unknown tools
  • Maintains all existing tool-specific display logic

ResponseStylesSection.tsx

  • Uses direct localStorage calls consistent with rest of codebase
  • Focuses solely on Concise/Detailed response style selection

Removed Infrastructure

  • Eliminated feature-specific localStorage utilities that were solving theoretical problems
  • Maintains consistency with 20+ other files that use direct localStorage calls successfully

Testing
Verified that:

  • Known tools show clean descriptions: running command
  • Unknown tools fall back to generic display: ToolName arguments
  • Response styles functionality works identically to before
  • TypeScript compilation and ESLint checks pass
  • No breaking changes to existing functionality

🎯 Result
Tool banners are now clean and focused while preserving full functionality:

  • Before: [Extension: developer] writing /path/to/file.ts
  • After: writing /path/to/file.ts

This addresses the core issue from #3104 with a simple, maintainable solution that doesn't add UI complexity or feature-specific infrastructure.

@LordMelkor LordMelkor force-pushed the feature/tool-call-extension-names branch from e786081 to 59d8ccf Compare July 3, 2025 20:06
@LordMelkor
Copy link
Contributor Author

Updates Based on Feedback

I've simplified the PR significantly:

Changes Made:

  • Removed the "Show Extension Names" user setting entirely - no more toggle in settings
  • Removed all [Extension: ...] prefixes from tool banners
  • Kept the improved display logic for generic/unknown tools (the core fix)
  • Preserved localStorage utilities since they're used by other features

Result:

Tool banners now show clean, focused descriptions:

  • Before: [Extension: developer] writing /path/to/file.ts
  • After: writing /path/to/file.ts

Technical Details:

  • Rebased on latest main branch (no conflicts)
  • All TypeScript/ESLint checks pass
  • No breaking changes to existing functionality
  • Much smaller, more focused changeset

The PR now addresses the original issue from #3104 without adding user-facing complexity. The core problem (unknown tools showing poor descriptions) is fixed while keeping the implementation clean and maintainable.

@LordMelkor LordMelkor changed the title Fix regression: show extension-name prefixes in tool-call banners (toggleable) Fix regression: add back detail to tool-call banners Jul 3, 2025
@LordMelkor LordMelkor force-pushed the feature/tool-call-extension-names branch from 59d8ccf to 6de0983 Compare July 4, 2025 02:37
- Fix generic tool fallback to show meaningful descriptions (ToolName + arguments)
- Update comments to describe current functionality rather than historical references
- Remove references to "old system" and outdated implementation details
- Improve code readability for developers unfamiliar with historical context
- Ensure all MCP tools display properly with fallback formatting

This addresses tool display issues where some tools showed only argument keys
instead of meaningful descriptions, and cleans up confusing historical
references in code comments.
@LordMelkor LordMelkor force-pushed the feature/tool-call-extension-names branch from 842af01 to d50dabe Compare July 4, 2025 03:04
@DOsinga DOsinga assigned jamadeo and katzdave and unassigned jamadeo Jul 16, 2025
@DOsinga DOsinga requested a review from katzdave July 16, 2025 18:30
@katzdave katzdave merged commit dc0008b into block:main Jul 16, 2025
19 of 23 checks passed
lifeizhou-ap added a commit that referenced this pull request Jul 17, 2025
* main:
  feat(gcpvertexai): do HTTP 429 like retries for Anthropic API HTTP 529 overloaded status code (#3026)
  Fix a few ui edge cases - refresh occasionally crashing, chat loader over text and chat input height returning to auto (#3469)
  Don't default to main for build-cli (#3467)
  docs: add MongoDB MCP server tutorial (#2660)
  feat: run sub recipe multiple times in parallel (Experimental feature) (#3274)
  chore(release): release version 1.1.0 (#3465)
  chore: implement streaming for anthropic.rs firstparty provider (#3419)
  Fix regression: add back detail to tool-call banners (#3231)
  Document release process and update some just recipes (#3460)
  feat: add download_cli.ps1 file for windows (#3354)
  fix: session_file is optional (#3462)
  Bump more space for goose is working on it so it doesnt overlap incoming agent chat messages (#3453)
  Align chat input action buttons to bottom when large amount of text (#3455)
  docs: add Cloudflare MCP Server tutorial (#3278)
  feat(cli): Clear persisted session file with /clear command (#3145)
@LordMelkor LordMelkor deleted the feature/tool-call-extension-names branch July 17, 2025 16:18
s-soroosh pushed a commit to s-soroosh/goose that referenced this pull request Jul 18, 2025
kwsantiago pushed a commit to kwsantiago/goose that referenced this pull request Jul 19, 2025
cbruyndoncx pushed a commit to cbruyndoncx/goose that referenced this pull request Jul 20, 2025
atarantino pushed a commit to atarantino/goose that referenced this pull request Aug 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants